

// 检查登录状态的公共方法
export function checkLogin() {
  // 1. 检查是否存在 token
  const token = uni.getStorageSync('token');
  if (!token) {
    return false;
  }
  
  // 2. 检查 token 是否有效（这里可以添加请求验证接口的逻辑）
  // 实际操作中可能需要调用验证接口，这里简化直接验证
  return true;
}

// 7天内自动登录功能
export function isWithin7Days() {
  const loginTime = uni.getStorageSync('loginTime');
  
  if (!loginTime) return false;
  
  const currentTime = Date.now();
  const sevenDays = 7 * 24 * 60 * 60 * 1000; // 7天的毫秒数
  
  return (currentTime - loginTime) < sevenDays;
}

// 路由守卫方法
export function routerGuard() {
  return new Promise((resolve, reject) => {
    // 情况1：未登录或token过期
    if (!checkLogin()) {
      reject('未登录');
      return;
    }
    
    // 情况2：超过7天未登录
    if (!isWithin7Days()) {
      // 清除用户数据
      uni.removeStorageSync('token');
      uni.removeStorageSync('user');
      uni.removeStorageSync('loginTime');
      reject('登录状态已过期');
      return;
    }
    
    // 通过验证
    resolve();
  });
}